package ai.people.netmon.warning.service;

import ai.people.netmon.framework.domain.oss.vo.UploadVO;
import ai.people.netmon.framework.domain.warning.entity.WarningExport;
import ai.people.netmon.framework.domain.warning.request.WarningInfoExportRequest;
import ai.people.netmon.framework.domain.warning.vo.WarningExportListDataVO;
import ai.people.netmon.framework.model.request.PageKeyWordsRequest;
import ai.people.netmon.framework.model.response.PageResponse;
import ai.people.netmon.framework.model.response.Result;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author ligua
* @description 针对表【warning_export(预警导出表)】的数据库操作Service
* @createDate 2022-07-28 17:50:38
*/
public interface WarningExportService extends IService<WarningExport> {

    /**
     * 出口记
     * 导出记录
     *
     * @param userId              用户id
     * @param pageKeyWordsRequest 页面关键字请求
     * @return {@link PageResponse}<{@link WarningExportListDataVO}>
     */
    PageResponse<WarningExportListDataVO> exportRecords(PageKeyWordsRequest pageKeyWordsRequest, Long userId);


    /**
     * 删除记录
     *
     * @param ids id
     */
    void deleteRecords(List<Long> ids);


    /**
     * 出口预警信息
     *
     * @param warningInfoExportRequest 警告信息出口要求
     * @return {@link Result}<{@link UploadVO}>
     */
    Result<UploadVO> exportWarningInfo(List<WarningInfoExportRequest> warningInfoExportRequest);

}
